Currently in the field of computer technologies, data communication via communication networks is very common. Data communication may be performed via communication networks using various data communication protocols. Hyper Text Transfer Protocol (HTTP) is one of such protocols.
Hyper Text Transfer Protocol (HTTP) is an application-level communication protocol. Originally, HTTP was intended to transmit data in HTML, format. However, today it is used for transmitting any data. Originally HTTP was not intended to transport other protocols because it had redundancy and overhead in slow and unreliable networks. Today the role of HTTP as a transport becomes more significant because current communication networks are faster and safer; communication expenses are lower and HTTP is very convenient.
HTTP is based on a “client-server” technology, i.e. it is expected that there are consumers (clients) which trigger connection and send a request and there are providers (servers) which wait for connection to receive the request and perform required actions and send a result message back.
Currently HTTP is in common use in the World Wide Web for receiving information from web sites and loading information to web-sites including transmitting requests which can be processed.
HTTP is used as a “transport” for other application-level protocols such as SOAP (Simple Object Access Protocol), XML-RPC (Extensible Markup Language Remote Procedure Call), WebDAV (Web Distributed Authoring and Versioning, or DAV which is an extension set of HTTP that allows clients to perform cooperative actions such as file editing or file management on remote servers).
The main action object in HTTP is a resource which is associated with URI (Universal Resource Identifier) in a client request. Usually such resources are files hosted on a server but it can be other objects, for example, logical objects. The feature of HTTP is a possibility to indicate a representation of the same resource in a request and answer using different parameters: format, encoding, language and the like (a HTTP-header is used specifically for that purpose). Due to the possibility to indicate a coding method for a message, a client and server can exchange binary data, though this protocol is a text protocol.
HTTP is a stateless protocol. It means that between “request-answer” pairs there are no saved intermediate states. HTTP does not have previous requests and answers data and it does not support states internally.
Thus, although the conventional computer systems are decent, the improvement of these systems is still possible.